Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Corrigo vs Lonworks
Диалог специалистов АВОК > ОБЩИЙ ФОРУМ > Автоматизация систем > LonWorks
Hippo_77
Добрый день! Прошу помощи по следующему вопросу, касаемо работы Corrigo в LON-сети:
Есть LON-сеть, состоящая из 40 контроллеров Corrigo E28D-S-LON. Я сконфигурировал контроллеры через
LonMaker 3.1, SCADA используется TAC Vista 5, она прекрасно видит значения всех выходных переменных, и
замечательно позволяет изменять значения входных переменных Corrigo.
Однако, сегодня я попробовал включать-выключать одну приточку через LON-сеть и обнаружил следующие
загадочные для меня вещи:
1. Когда установка включена местно, со шкафа управления, у переменной nvoRunMode установлены биты 0 и 2,
что означает соответственно, согласно описанию переменных у Regin, 0-ой бит = Stop, 2-ой бит -Starting half
speed. И что сие означает? Что установка остановлена и одновременно включена 1/2 скорость (на экране корриги
написано - работает в нормальном режиме)? Или, может быть,
до тех пор, пока я не включил установку через LON-сеть, эти переменные не соответствуют действительности?
2. Когда я, ничтоже сумняще, устанавливаю переменную nviOccCmd в 1 (1 = Shut down. Support control and free
cooling not active. Frost protection active if configured), то есть пытаюсь просто выключить установку, корриго
вываливается в аварию, пишет типо - Ошибка по внешнему останову, и не включается, пока не подойдёшь к
нему и не сбросишь аварию.
Скажите пожалуйста, может быть кно-нибудь уже управлял (в смысле, именно включал-выключал) корриго через LON,
как это вообще по нормальному сделать? В смысле - установил такую-то переменную в такое-то значение, установка остановилась, установил другое значение - запустилась. И отдельный вопрос по переменной nvoRunMode - значения её битов вообще соответствуют тому, что написано в документации Regin? Если да, то как можно объяснить вышеописанную ситуацию?
P.S. В вышеописанных ситуациях SCADA не виновата - то же самое происходит, если переменные изменять через LonMaker.
Scribe
Цитата(Hippo_77 @ 30.7.2010, 21:18) *
... Скажите пожалуйста, может быть кно-нибудь уже управлял (в смысле, именно включал-выключал) корриго через LON, как это вообще по нормальному сделать? В смысле - установил такую-то переменную в такое-то значение, установка остановилась, установил другое значение - запустилась ...
У нас с коллегой получилось так, как написато в Теме bestbook.gif
Цитата
2. Когда я, ничтоже сумняще, устанавливаю переменную nviOccCmd в 1 (1 = Shut down. Support control and free cooling not active. Frost protection active if configured), то есть пытаюсь просто выключить установку, корриго вываливается в аварию, пишет типо - Ошибка по внешнему останову, и не включается, пока не подойдёшь к нему и не сбросишь аварию.
Если мне не изменяет мой склероз, в ихнем e-tools ошибки разделяются на три класса A, B, C и им задается действие - останавливать агрегат или нет. Попробуйте поменять.
В каком состоянии nvoAlarm.bit10 (External switch) в Вашем случае?
Цитата
... сегодня я попробовал включать-выключать одну приточку через LON-сеть и обнаружил следующие загадочные для меня вещи:
1. Когда установка включена местно, со шкафа управления, у переменной nvoRunMode установлены биты 0 и 2, что означает соответственно, согласно описанию переменных у Regin, 0-ой бит = Stop, 2-ой бит - Starting half speed. И что сие означает? Что установка остановлена и одновременно включена 1/2 скорость (на экране корриги написано - работает в нормальном режиме)? Или, может быть, до тех пор, пока я не включил установку через LON-сеть, эти переменные не соответствуют действительности?

Цитата
И отдельный вопрос по переменной nvoRunMode - значения её битов вообще соответствуют тому, что написано в документации Regin? Если да, то как можно объяснить вышеописанную ситуацию?
Полностью с Вами согласен про nvoRunMode.

На новой неделе для себя решил поставить ее и другие переменные на запись, чтобы соотнести значения с состояниями вентустановки (единственная беда - объект за 200 км, но виден по IP-852).

Можно затеять переписку с господами программистами из regin.se, но без задокументированных фактов в руках будет слабовато и бесполезно sad.gif

--
Успехов!

PS:
Если будут результаты или любые другие идеи, просьба - отписать

PSS:
да, и какие версии прошивок? в моем проекте на контроллерах xE15x, xE28x - v.2.1, v.2.1 S и v.1.1-1-07
Hippo_77
Спасибо за ответ!
Цитата
У нас с коллегой получилось так, как написато в Теме

Да, я читал. Мне две скорости - то и не нужны, я хотел бы просто включать - выключать приточку.
Вы тоже, по сути, для управления установкой использовали nviOccCmd. В прошлом году я уже
управлял группой вентустановок, снабжённых корригами, по сети LON, и тоже с помощью nviOccCmd.
Но они в аварию не вываливались, а тут - первая же запущенная коррига ругаться начала.
Цитата
Если мне не изменяет мой склероз, в ихнем e-tools ошибки разделяются на три класса A, B, C и им задается действие - останавливать агрегат или нет. Попробуйте поменять.
В каком состоянии nvoAlarm.bit10 (External switch) в Вашем случае?

Вот-вот, совершенно верно, именно этот бит и устанавливается в 1 (External switch). А вообще, наверное Вы
правы, нужно эту аварию попробовать обезвредить, в пятницу вечером мне просто времени уже не хватило.
Цитата
Полностью с Вами согласен про nvoRunMode.

На новой неделе для себя решил поставить ее и другие переменные на запись, чтобы соотнести значения с состояниями вентустановки (единственная беда - объект за 200 км, но виден по IP-852).

Можно затеять переписку с господами программистами из regin.se, но без задокументированных фактов в руках будет слабовато и бесполезно

Ну да, маразм некоторый конечно присутствует. У меня вот какая мысль есть: вот есть у корриги две переменные:
nviSetPoint и nvoSetPoint (заданная температура приточного воздуха) . Допустим, мы включили корригу с местного пульта, и с него же задали температуру 18°С. Теперь мы грузим в корригу файл *.apb, запихиваем в LonMaker файл
*.xif и смотрим состояние переменной nvoSetPoint в LonMaker-e (можно даже корригу выключить-включить перед этим,
ничего абсолютно не изменится). Казалось бы, значение переменной nvoSetPoint должно быть 18°С. Ничего подобного,
там 0! И только после того, как мы изменим nviSetPoint через LON на любое своё значение, ток медленно пойдёт по проводам, и nvoSetPoint изменится в соответствии с заданным nviSetPoint. Возможно, что nvoRunMode тоже показывает неправильные значения, пока мы не включим установку через LON-сеть.
Цитата
да, и какие версии прошивок? в моем проекте на контроллерах xE15x, xE28x - v.2.1, v.2.1 S и v.1.1-1-07

у моих контроллеров прошивка v2.3 S. Но мне кажется, это не влияет.
Как я уже писал выше, в прошлом году я управлял корригами через LON, там были прошивки младше. Хочу просто пояснить, зачем я открыл эту тему, если вроде-бы я уже успешно мучил корриг. Дело в том, что в прошлый раз у меня
было мало времени, и увидев странное совместное поведение битов nvoRunMode я просто плюнул на эту переменную, и
отображал признак работы установки в SCADA по другой какой-то переменной (SNVT_state.bit0 - приточный вентилятор работает, или всё-таки nvoRunMode.bit5 = Normal run, не помню уже). Вот к сожалению, точно не помню что мне не понравилось в nvoRunMode в прошлом году, вроде там одновременно появлялись биты 0 = Stop и 1 = Starting up или что-то вроде того. В этот раз захотел я вывести все состояния установки по-нормальному на экран, архивировать их. Но вот с первого раза не получилось. Во вторник я снова поеду на объект и буду домучивать корригу до победного конца, просто чтобы для себя понять, что происходит с nvoRunMode. Замучаю - отпишусь.


Scribe
Цитата(Hippo_77 @ 1.8.2010, 15:43) *
... У меня вот какая мысль есть: вот есть у корриги две переменные: nviSetPoint и nvoSetPoint (заданная температура приточного воздуха) . Допустим, мы включили корригу с местного пульта, и с него же задали температуру 18°С. Теперь мы грузим в корригу файл *.apb, запихиваем в LonMaker файл *.xif и смотрим состояние переменной nvoSetPoint в LonMaker-e (можно даже корригу выключить-включить перед этим, ничего абсолютно не изменится). Казалось бы, значение переменной nvoSetPoint должно быть 18°С. Ничего подобного, там 0! И только после того, как мы изменим nviSetPoint через LON на любое своё значение, ток медленно пойдёт по проводам, и nvoSetPoint изменится в соответствии с заданным nviSetPoint.
May be rolleyes.gif когда я первый раз столкнулся с Corrigo, то напоролся на спецпрошивку, где SNVTы были объявлены как ifbound и стали обновлятся только после binding'а к переменным другого устройства...
(IMHO: LonMaker Browser использует polling)
Цитата
Возможно, что nvoRunMode тоже показывает неправильные значения, пока мы не включим установку через LON-сеть.
включал/выключал через nvoExternalStop (nvoAlarm.bit10=1) и nvoFullSpeedExt - значения nvoRunMode такие же
Цитата
у моих контроллеров прошивка v2.3 S. Но мне кажется, это не влияет
у меня в этом проекте три чемодана с "новой" версий 1.1-1-07 (контроллеры установлены в агрегат на заводе): на пульте пишет, что SetPoint = 18°С, а в LON посылает 180°С и не реагирует на любые внешние воздействия
Цитата
В этот раз захотел я вывести все состояния установки по-нормальному на экран, архивировать их. Но вот с первого раза не получилось. Во вторник я снова поеду на объект и буду домучивать корригу до победного конца, просто чтобы для себя понять, что происходит с nvoRunMode. Замучаю - отпишусь.
Ждемс!

--
Успехов!
Hippo_77
Вот что получилось:
1. Выпадение корриги в аварию при выключении вентустановки через LON устранил тем,
что задал приоритет С аварии External switch (как и советовал Scribe).
2. С переменной nvoRunMode получаются следующие чудеса (её поведение абсолютно одинаково
на всех приточках, которые я успел попробовать).
Вот описание битов nvoRunMode у Regin:
0 = Stop
1 = Starting up
2 = Starting half speed
3 = Starting full speed
4 = Alarm delay
5 = Normal run
6 = Support control Heating
7 = Support control Cooling
8 = CO2 run
9 = Night cooling
10 = Full speed stop
11 = Fan stop
А вот как биты этой переменной ведут себя на самом деле (что успел проверить):
a) Когда установка включена (всё равно, через LON, или в местном режиме), включены биты 0 и 2
(на корриге надпись - нормальная работа)
б) Переводим nviOccCmd в состояние OC_UNOCCUPIED(1) (или OC_STANDBY(3),в данном случае это
безразлично). При этом становятся включенными биты 0,1,3, и спустя какое-то время отключаются все биты.
На корриге надпись выключено.
с) Дальше - интересней nviOccCmd устанавливаем в OC_OCCUPIED(0) при этом сначала включается бит 0,
спустя какое-то время он выключается и включается бит 2. И затем, спустя ещё какое-то
время, включается бит 0. Во время этих пертрубаций битов на корриге надпись - старт.

Ну здесь конечно, каждый сам для себя должен расшифровать значения битов этой загадочной переменной.
Но в любом случае:
- ну не может бит 0 = Stop включаться в тот момент, когда установка в работе, и отключаться, когда
установка остановлена - скорее уж этот бит должен называться Normal Run. Кстати, настоящий бит 5 = Normal run
вообще признаков жизни не подаёт.
- бит 1 = Starting up с таким же упорством, достойным восхищения, включается только при останове установки.
Ну назвали бы его тогда, не знаю, Stopping down что-ли blink.gif
- биты 2 = Starting half speed и 3 = Starting full speed. Мои установки работают в односкоростном режиме.
И к чему бы это при останове Starting half speed отключается и включается Starting full speed - непонятно.
(Подуть посильнее напоследок хочет что-ли?)

И ещё. Установка работала в режиме охлаждения приточного воздуха, но включения бита 7 = Support control
Cooling я так и не дождался (ну просто по логике он должен бы включится).

Нужно отметить, что остальные переменные LON свои функции выполняют (насколько я смог проверить).
Я вот только одного не могу понять - неужели это только у меня такие чудеса с nvoRunMode происходят?
Конечно можно и без неё обойтись, но ведь это же явный косяк Regin. Или я что то не понимаю, тогда
объясните пожалуйста что это за чудеса?

P.S. То же самое происходило и на предыдущем моём объекте, как я писал ранее в своём посте








Scribe
Доброго времени суток!

Непреумоляя достоинств технических кривописателей Regin, осмелюсь предположить следующее:

номера ниже не номера битов, а десятичный номер состояния агрегата
Цитата
... описание битов nvoRunMode у Regin:
0 = Stop
1 = Starting up
2 = Starting half speed
3 = Starting full speed
4 = Alarm delay
5 = Normal run
6 = Support control Heating
7 = Support control Cooling
8 = CO2 run
9 = Night cooling
10 = Full speed stop
11 = Fan stop
далее рассматриваем биты с 0 по 3 и переводим, что получается, из двоичной системы в десятичную:
Цитата
a) Когда установка включена (всё равно, через LON, или в местном режиме), включены биты 0 и 2 (на корриге надпись - нормальная работа)
(бит 0 == 1) + (бит 2 == 4) итого в десятичной 5 = Normal run
Цитата
б) Переводим nviOccCmd в состояние OC_UNOCCUPIED(1) (или OC_STANDBY(3), в данном случае это безразлично). При этом становятся включенными биты 0,1,3, и спустя какое-то время отключаются все биты. На корриге надпись выключено.
1 + 2 + 8 итого 11 = Fan stop, затем 0 = Stop
Цитата
с) Дальше - интересней nviOccCmd устанавливаем в OC_OCCUPIED(0) при этом сначала включается бит 0, спустя какое-то время он выключается и включается бит 2. И затем, спустя ещё какое-то время, включается бит 0. Во время этих пертрубаций битов на корриге надпись - старт.
1 = Starting up
5 = Normal run

cool.gif

--
Успехов!

P.S. Спасибо за исследования. Добавлю в проект.
Hippo_77
Спасибо большое! Вы правы тысячу раз, а я тормоз! В описании nvoRunMode действительно написано "Binary",
а в тех переменных, где рассматривается состояние каждого бита, указано bitN! Как же я это просмотрел! Ещё раз огромное Вам спасибо, пойду добавлю состояние nvoRunMode на мнемосхемы.
Sardi
Займусь гробокопанием.

Коллеги, помогите советом. Есть куча этих коряг с прошивками 2.3. Когда, к примеру, отрубается электричество, установки, разумеется, вырубаются с ошибками. Чтобы их снова запустить, надо сбросить эти ошибки. Возможно ли это сделать через LON каким-то образом?
Или единственный способ - поиграться с настройками этих ошибок, чтобы они не мешали запуску установки? Как-то не хочется так делать.

И еще один вопрос, уже про биндинг. Это связь переменных, правильно? А с чем их связывать-то? Неужто в рамках одного контроллера nvoSetpoint биндить к nviSetpoint? У меня в сети только корриги сидят, и больше никого нет. Скада - PcVue, которая работает с лоном без ОРС-сервера.
Chabol
Сброс Аварий в LON-профиле этото ПЛК отсутствует.
GregorySoft
Цитата(Sardi @ 9.4.2012, 2:12) *
И еще один вопрос, уже про биндинг. Это связь переменных, правильно? А с чем их связывать-то? Неужто в рамках одного контроллера nvoSetpoint биндить к nviSetpoint? У меня в сети только корриги сидят, и больше никого нет. Скада - PcVue, которая работает с лоном без ОРС-сервера.



биндить можно только то что у тебя в проекте - шлюзы, контроллеры.


чтобы с верхним уровнем связь иметь - просто читай данные и всё.

________________________________

у корряг сброс ошибок только вручную.
shylock
Цитата(Sardi @ 9.4.2012, 3:12) *
И еще один вопрос, уже про биндинг. Это связь переменных, правильно? А с чем их связывать-то? Неужто в рамках одного контроллера nvoSetpoint биндить к nviSetpoint?

В принципе связывать переменные контроллера с другими переменными этого же контроллера можно. Но в данном случае -- явно незачем.
Вот если б Вы хотели задавать сетпойнт на одном контроллере, и чтоб он автоматически пересылался на другие тоже -- тогда байндинг пригодился бы. А если только диспетчеризация, то попробуйте просто polling, то есть чтение и запись без байндинга.
Scribe
а какой такой классс ошибок был в Corrigo?
A-B-C-D-E-F ???? для каждой ?

> у корряг сброс ошибок только вручную
ошибок какого класссааа ? и де на чЁм ?

PS:
Свою любовь к Support Regin (Corrigo) Я просто не знаю как отразить

--
Извините, Коллеги
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Форум IP.Board © 2001-2025 IPS, Inc.